import bpy

# 遍历所有选中的对象
for obj in bpy.context.selected_objects:
  # 确保对象有修改器
  if obj.modifiers:
    # 记录当前活动对象
    bpy.context.view_layer.objects.active = obj

    # 创建一个列表保存所有修改器的名字，因为应用修改器会从对象上移除它
    modifier_names = [m.name for m in obj.modifiers]

    # 对于每个修改器名字，依次应用修改器
    for mod_name in modifier_names:
      # 选择要应用的修改器（确保它是当前活跃的修改器）
      bpy.ops.object.modifier_apply(modifier=mod_name)

print("所有选中对象的修改器已应用。")
